<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.prime.com.tr/ui">

<ui:composition template="/template/template-padrao.xhtml">

	<ui:define name="titulo">Receitas</ui:define>

	<ui:define name="baseCorpo">
	
		<h:form id="listaReceitas">
		
			<p:accordionPanel autoHeight="false" collapsible="true">
			<p:tab title="Receitas">
			
			<p:panel>
			
				<table width="100%" cellpadding="0" cellspacing="0">
					<tr>
						<td style="text-align:left;">
							<p:commandButton value="Anterior" update="msgSistema, listaReceitas" image="ui-icon ui-icon-arrowreturnthick-1-w" 
								actionListener="#{manterReceitasBean.mesAnterior}" style="margin-left:5px;" />
						</td>
						<td style="text-align:center;">
							<p:commandButton value="Mês atual" update="msgSistema, listaReceitas" image="ui-icon ui-icon-arrowreturnthick-1-s" 
								actionListener="#{manterReceitasBean.mesAtual}" style="margin-left:5px;" />
						</td>
						<td style="text-align:right;">
							<p:commandButton value="Próximo" update="msgSistema, listaReceitas" image="ui-icon ui-icon-arrowreturnthick-1-e" 
								actionListener="#{manterReceitasBean.mesProximo}" style="margin-left:5px;" />
						</td>
					</tr>
				</table>
				
				<br />
			
				<table width="100%" cellpadding="0" cellspacing="0">
					<tr>
						<td style="border:1px solid #98bf21; width:33%; text-align:center; padding:10px 15px; vertical-align: top;">
							<h:outputLabel value="Contas a pagar " style="font-size:17px;" />
							<h:outputLabel value="#{manterReceitasBean.mesAnoContas}" style="font-size:17px;" />
							<hr />
							<table width="100%" cellpadding="0" cellspacing="0">
								<tr>
									<td style="text-align:left;">
										<h:outputText value="Vencidas" /><br />
										<h:outputText value="À pagar" /><br />
										<h:outputText value="Total pago" /><br />
										<h:outputText value="Total" /><br />
									</td>
									<td style="text-align:right;">
										<h:outputLabel value="#{manterReceitasBean.contasPagarTO.vencidas}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasPagarTO.pagar}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasPagarTO.totalPago}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasPagarTO.totalGeral}" converter="moedaDoubleConverter" /><br />
									</td>
								</tr>
							</table>
						</td>
						<td style="border:1px solid #98bf21; width:33%; text-align:center; padding:10px 15px; vertical-align: top;">
							<h:outputLabel for="dataLancamento" value="Contas a receber " style="font-size:17px;" />
							<h:outputLabel value="#{manterReceitasBean.mesAnoContas}" style="font-size:17px;" />
							<hr />
							<table width="100%" cellpadding="0" cellspacing="0">
								<tr>
									<td style="text-align:left;">
										<h:outputText value="Vencidas" /><br />
										<h:outputText value="À receber" /><br />
										<h:outputText value="Total recebido" /><br />
										<h:outputText value="Total" /><br />
									</td>
									<td style="text-align:right;">
										<h:outputLabel value="#{manterReceitasBean.contasReceberTO.vencidas}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasReceberTO.receber}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasReceberTO.totalRecebido}" converter="moedaDoubleConverter" /><br />
										<h:outputLabel value="#{manterReceitasBean.contasReceberTO.totalGeral}" converter="moedaDoubleConverter" /><br />
									</td>
								</tr>
							</table>
						</td>
					</tr>
					<tr>
						<td colspan="2" style="border:1px solid #98bf21; width:33%; text-align:center; padding:10px 15px; vertical-align: top;">
							<h:outputLabel value="Saldo das contas" style="font-size:17px;" />
							<hr />
							<table width="100%" cellpadding="0" cellspacing="0">
								<ui:repeat value="#{manterReceitasBean.obterContasAtualizadas}" var="conta">  
					                <tr>
										<td style="text-align:left;">
											<h:outputText value="#{conta.contaCompleto}" />
										</td>
										<td style="text-align:right;">
											<h:outputLabel value="#{conta.saldo}" rendered="#{conta.saldoAtualizado gt 0}" 
												converter="moedaDoubleConverter" style="color:green;" />
											<h:outputLabel value="#{conta.saldo}" rendered="#{conta.saldoAtualizado lt 0}" 
												converter="moedaDoubleConverter" style="color:red;" />
											<h:outputLabel value="#{conta.saldo}" 
												converter="moedaDoubleConverter" rendered="#{conta.saldoAtualizado eq 0}" />
										</td>
									</tr>
								</ui:repeat > 
							</table>
						</td>
					</tr>
				</table>
				</p:panel>
			
		    </p:tab>
			</p:accordionPanel>
		    
		</h:form>
		
		<br />
		<br />
	
		<h:form id="itemMenuForm">

			<p:panel id="panelItemMenu">
			
				<h1 class="ui-panel-titlebar ui-widget-header ui-corner-all">Filtro</h1>
				
				<table cellspacing="10" width="100%">
					<tr>
						<td>
							<h:outputLabel for="dataVencimentoInicial" value="Data do vencimento:" />
							<br />
							<p:calendar id="dataVencimentoInicial" pattern="dd/MM/yyyy"
								maxlength="10" value="#{manterReceitasBean.dataVencimentoInicial}" />
							<h:outputLabel for="dataVencimentoFinal" value=" até " />
							<p:calendar id="dataVencimentoFinal" pattern="dd/MM/yyyy"
								maxlength="10" value="#{manterReceitasBean.dataVencimentoFinal}" />
						</td>
					</tr>
					<tr>
						<td>
							<h:selectBooleanCheckbox id="pagos" 
								value="#{manterReceitasBean.situacaoContasTO.pagos}" />
							<h:outputLabel for="pagos" 
								value=" Pagos " />
							<h:selectBooleanCheckbox id="recebidos" 
								value="#{manterReceitasBean.situacaoContasTO.recebidos}" />
							<h:outputLabel for="recebidos" 
								value=" Recebidos " />
							<h:selectBooleanCheckbox id="pagar" 
								value="#{manterReceitasBean.situacaoContasTO.pagar}" />
							<h:outputLabel for="pagar" 
								value=" À pagar " />
							<h:selectBooleanCheckbox id="receber" 
								value="#{manterReceitasBean.situacaoContasTO.receber}" />
							<h:outputLabel for="receber" 
								value=" À receber " />
							<h:selectBooleanCheckbox id="atrasados" 
								value="#{manterReceitasBean.situacaoContasTO.atrasados}" />
							<h:outputLabel for="atrasados" 
								value=" Vencidos " />
						</td>
					</tr>
				</table>
			
			</p:panel>
			
			<br />
			<div align="right">
				<p:commandButton id="btn" value="Pesquisar" update="msgSistema, listaCadastroReceitas" 
					actionListener="#{manterReceitasBean.mesAnterior}" style="margin-left:5px;" />
				<p:commandButton id="botaoLimpar" value="Limpar" update="msgSistema, itemMenuForm" 
					 actionListener="#{manterReceitasBean.limparCampos}" style="margin-left:5px;" />
			 	<p:commandButton id="botaoNovo" value="Novo" update="msgSistema, lancamentoForm" 
					 action="#{manterReceitasBean.novoLancamento}" ajax="false" style="margin-left:5px;" />
			</div>
			
		</h:form>
		
		<h:form id="listaCadastroReceitas">
			
			<br />
			<br />
			<p:accordionPanel autoHeight="false" collapsible="true" style="padding:0;">
			<p:tab title="Lançamentos">
			
				<p:dataTable id="listaLancamentosReceitas" var="lancamento" 
					widgetVar="lancamentosTableReceitas"
					paginator="true" rows="10" paginatorPosition="bottom"
					value="#{manterReceitasBean.todosLancamentosPorFiltro}"
		            emptyMessage="Nenhum lançamento encontrado">
		            
		            <p:column style="width:100px;" filterBy="#{lancamento.tipo.label}"
			                headerText="Tipo de lançamento" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.tipo.label}" />
			        </p:column>
			        
			        <p:column style="width:80px;" filterBy="#{lancamento.dtVencimento}"
			                headerText="Data do vencimento" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.dtVencimento}" >
			            	<f:convertDateTime pattern="dd/MM/yyyy" />
			            </h:outputText>
			        </p:column>
			        
			        <p:column style="width:130px;" filterBy="#{lancamento.categoria.nmCategoria}"
			                headerText="Categoria" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.categoria.nmCategoria}" />
			        </p:column>
			        
			        <p:column style="width:130px;" filterBy="#{lancamento.conta.contaCompleto}"
			                headerText="Conta" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.conta.contaCompleto}" />
			        </p:column>
			        
			        <p:column style="width:90px;" filterBy="#{lancamento.valorTotal}"
			                headerText="Valor Total" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.valorTotal}" converter="moedaDoubleConverter" />
			        </p:column>
			        
			        <p:column style="width:90px;" filterBy="#{lancamento.situacao}"
			                headerText="Situação" filterMatchMode="contains">
			            <h:outputText value="#{lancamento.situacao}" />
			        </p:column>
			        
			        <p:column style="width:110px;" headerText="Ações">
			            <p:commandButton update="lancamentoDetalhesForm, listaItens" image="ui-icon ui-icon-search" immediate="true"
			            	oncomplete="dialogLancamentoDetalhes.show()">
			               <f:setPropertyActionListener value="#{lancamento}"
			                    target="#{manterLancamentosBean.lancamentoAux}" />
			            </p:commandButton>
			            <p:commandButton value="Baixar" oncomplete="confirmation.show()" image="ui-icon ui-icon-circle-check" 
			            	rendered="#{lancamento.mostrarOpcaoBaixar}" title="Marcar como pago" immediate="true">
			               <f:setPropertyActionListener value="#{lancamento}"
			                    target="#{manterReceitasBean.lancamento}" />
			            </p:commandButton>
			        </p:column>
			        
			    </p:dataTable>
			    
		    </p:tab>
			</p:accordionPanel>
		    
		</h:form>
		
		<h:form>
		    <p:confirmDialog message="Deseja dar baixa no lançamento?"
						header="Confirmação" severity="alert" widgetVar="confirmation">
						
				<p:commandButton value="Sim" update="listaReceitas, msgSistema, listaCadastroReceitas" 
							oncomplete="confirmation.hide()" immediate="true"
							actionListener="#{manterReceitasBean.baixarLancamento}" />
				<p:commandButton value="Não" onclick="confirmation.hide()" type="button" immediate="true" /> 
						
			</p:confirmDialog>
		</h:form>
		
	<ui:include src="manterlancamentos/lancamentodetalhes.xhtml" />
		
	</ui:define>

</ui:composition>
</html>